<?php
class RpAsignacionesController extends AppController {

	var $name = 'RpAsignaciones';
	var $helpers = array('Html', 'Form','Javascript');
	var $uses = array('RpAsignacione', 'MgUsuario');
	var $components = array('Auth', 'Usuario', 'Values');

	function index() {
		$this->RpAsignacione->recursive = 0;
		$this->set('rpAsignaciones', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalido  Asignacion.', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->set('rpAsignacione', $this->RpAsignacione->read(null, $id));
	}

	function add() {
		if (!empty($this->data)) {
			$this->RpAsignacione->create();
			if ($this->RpAsignacione->save($this->data)) {
				$this->Session->setFlash(__('Asignacion se ha guardado', true));
				$this->redirect(array('action'=>'index'));
			} else {
				$this->Session->setFlash(__('Asignacion no ha podido guardarse. Intente de nuevo.', true));
			}
		}
		$mgUsuarios = $this->RpAsignacione->MgUsuario->find('list', array('fields'=>array('id', 'usuario'), 'order by usuario'));
		$rpReportes = $this->RpAsignacione->RpReporte->find('list', array('fields'=>array('id', 'descripcion'), 'conditions'=>array('activo' => 1), 'order by RpReporte.id'));
		$this->set(compact('mgUsuarios', 'rpReportes'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalido  Asignacion', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
			if ($this->RpAsignacione->save($this->data)) {
				$this->Session->setFlash(__('Asignacion se ha guardado', true));
				$this->redirect(array('action'=>'index'));
			} else {
				$this->Session->setFlash(__('Asignacion no ha podido guardarse. Intente de nuevo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->RpAsignacione->read(null, $id);
		}
		$mgUsuarios = $this->RpAsignacione->MgUsuario->find('list', array('fields'=>array('MgUsuario.id', 'usuario'), 'order by usuario'));
		$rpReportes = $this->RpAsignacione->RpReporte->find('list', array('fields'=>array('RpReporte.id', 'descripcion'), 'order by RpReporte.id'));
		$this->set(compact('mgUsuarios','rpReportes'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalido id para Asignacion', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->RpAsignacione->delete($id)) {
			$this->Session->setFlash(__('Asignacion borrado', true));
			$this->redirect(array('action'=>'index'));
		}
	}

	function ver_reporte() {		
		if(!empty($this->data['RpAsignacione']['rp_reporte_id'])) {
			$reporte = $this->data['RpAsignacione']['rp_reporte_id'];
			$usuario = $this->MgUsuario->find('first', array('fields'=>array('id'), 'conditions'=>array('MgUsuario.usuario'=>$this->Session->read('Auth.MgUsuario.usuario'))));
			$this->redirect('../../../../../reportes/?bd=' . $this->Session->read('aplicacion') . '&id=' . $reporte);			
		}
		$usuarios = $this->MgUsuario->find('first', array('fields'=>array('id'), 'conditions'=>array('usuario'=>$this->Session->read('Auth.MgUsuario.usuario'))));
		$asignaciones = $this->RpAsignacione->find('list', array('fields'=>array('rp_reporte_id'), 'conditions'=>array('mg_usuario_id'=>$usuarios['MgUsuario']['id'])));
		$rpReportes = $this->RpAsignacione->RpReporte->find('list', array('fields'=>array('id', 'titulo'), 'order by RpReporte.id', 'conditions'=>array('activo' => 1, 'or'=>array('RpReporte.id'=>$asignaciones, 'RpReporte.basico'=>1) )));
		$this->set(compact('rpReportes'));
	}
}
?>